AIR for AndroidでSDカードにデータを読み書きするサンプル
AIR for AndroidでSDカードにファイルアクセスするサンプルを作ってみました。 テキストエリアの文字列を読み書きするだけの簡単なものです。
ポイントはFile.userDirectoryでSDカードのルートディレクトリを取得できることです。 それ以外はデスクトップのAIRと同じです。
あとSDカードに読み書きするための権限が必要なのでADFファイル内の android.permission.WRITE_EXTERNAL_STORAGE をコメントアウトしておく必要があります。
以下がソースです。
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Script> <![CDATA[ private function read():void { var file:File = File.userDirectory.resolvePath("sample.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.READ); textInput.text = fileStream.readMultiByte(file.size, File.systemCharset); fileStream.close(); } private function write():void { var file:File = File.userDirectory.resolvePath("sample.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.WRITE); fileStream.writeMultiByte(textInput.text, File.systemCharset); fileStream.close(); } ]]> </fx:Script> <s:VGroup width="100%" height="100%"> <s:TextArea id="textInput" width="100%" height="100%"/> <s:HGroup width="100%"> <s:Button width="100%" label="READ" click="read()"/> <s:Button width="100%" label="WRITE" click="write()"/> </s:HGroup> </s:VGroup> </s:Application>